In general, a so-called storage area network (SAN) is a collection of data storage systems that are networked via a switching fabric to a number of host computer systems operating as servers. The host computers (or servers) of a respective storage area network access data stored in respective data storage systems on behalf of client computers that request data. For example, according to conventional techniques, upon receiving a storage access request, a respective host computer accesses a large repository of storage through a switching fabric on behalf of a corresponding requesting client. An access can include a read or write of data to storage.
Typically, many clients can access data through the same host computer or server. Thus, storage area networks enable multiple clients to access one or more shared storage systems through the same host computer. In many applications, storage area networks support hi-speed acquisitions of data so that the host servers are able to promptly retrieve and store data from the data storage system.
Conventional storage area network management applications typically include a graphical user interface (GUI) enabling a network manager to graphically manage, control, and configure various types of hardware and software resources associated with a corresponding storage area network. For example, conventional network management storage applications sometimes generate a graphical user interface utilized by a network manager to graphically select, interact with, and manage local or remote devices and associated software processes associated with the storage area network.
Based on use of the graphical user interface in combination with an input device such as a hand operated mouse and corresponding pointer displayed on a viewing screen, a network manager can “click” on managed object icons to manage respective hardware and software entities such as file systems, databases, storage devices, peripherals, network data communications devices, etc., associated with the storage area network. Consequently, the network manager can reconfigure a SAN according to users' changing storage access needs.
A respective infrastructure supporting access to data in a storage area network can be quite complex. For example, as discussed above, consider the number of hardware and software components that must work in harmony in order for a user to successfully access data stored in a storage array of a SAN. To access such data, the user application provides file system calls or requests (e.g., open, read, write and so forth) to a file system resource presented to the user application by an operating system executing on the host computer system. The file system receives the file system calls and operates to map such file system calls to a series of I/O requests. The operating system on the host computer system transmits the I/O requests through a host interface device resource, such as an interface card (e.g., SCSI or FibreChannel adapter) having one or more I/O port resources, across an interface cable or networking medium (e.g., in a storage area network implementation) to a front-end adapter interface card resource operating within a high-capacity data storage array of the SAN. The front-end adapter interface card receives the I/O requests and interprets them to identify appropriate data locations within specific storage device resources contained in the storage array.
After the requested data is accessed from the storage devices, respective I/O responses are returned from the accessed storage system to the user application along an information or data flow path (based on operations and processing functionality provided by each of the aforementioned components and resources) in a reverse direction back to the application on the host computer running the client application. In this way, access to data in a conventional storage area network involves reliance on a proper operation and coordination of a multitude of software and hardware resources in a storage area network to retrieve data from storage and serve the data to a client.
If even a single resource such as a switch, operating system, host bus adapter, storage system, etc. in a respective storage area network is incompatible with other hardware and/or software resources present in the storage area network, then the storage area network may no longer operate properly for a respective user attempting to retrieve stored data.
One conventional way to ensure that a storage area network will work properly (e.g., so that the storage area network enables users to access corresponding stored data) is to generate a set of interoperability rules indicating valid storage area network configurations and store the interoperability rules in an Oracle database. In general, the set of interoperability rules indicates which combination of different types of resources are compatible with each other and can be used together in a respective storage area network. To ensure that a storage area network configuration is valid, an administrator can review respective interoperability rules prior to modifying a configuration of a respective storage area network. Accordingly, an administrator can be confident that a particular configuration is acceptable prior to actually implementing the respective storage area network configuration.